package web;

import web.administrador.*;
import Persistencia.Fisioterapeuta;
import Persistencia.Paciente;
import Persistencia.Sesion;
import org.springframework.web.servlet.mvc.SimpleFormController;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.view.RedirectView;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import controladores.ControladorAutenticar;
import controladores.ControladorFisioterapeuta;
import controladores.ControladorSesion;
import dominio.FisioterapeutaDomain;
import dominio.login;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * Este controlador se encarga de recibir las peticiones hechas por la pagina PacientesMes
 * y se encarga de retornar la lista con los pacientes resultado.
 * 
 */
public class ControladorSimplePacienteMes extends SimpleFormController{

    ControladorSesion controlador = new ControladorSesion();
    Fisioterapeuta obj;
    FisioterapeutaDomain objFisio;

    @Override
    public ModelAndView onSubmit(Object command) throws ServletException {
        Map<String, Object> modelo = new HashMap();
        objFisio = (FisioterapeutaDomain) command;
        List<Sesion> s = controlador.encontrarSesionesFecha(objFisio.getFechaNacimientoMes(),objFisio.getFechaNacimientoAno());
        if(s.isEmpty()){
            modelo.put("mensajeOk", "");
            modelo.put("mensajeNo", "No se encontraron resultados");
            modelo.put("direccion", "PacientesMes.htm");
            return new ModelAndView("resultadoValidator","model",modelo);
        }
        modelo.put("mes", objFisio.getFechaNacimientoMes());
        modelo.put("ano", objFisio.getFechaNacimientoAno());
        modelo.put("lista", s);
        return new ModelAndView("ReportePacienteMes","model",modelo);
    }

    protected Object formBackingObject(HttpServletRequest request) throws ServletException {
        FisioterapeutaDomain log = new FisioterapeutaDomain();
        log.setFechaNacimientoDia("5");
        return log;
    }

    public void setControladorFisioterapeuta(ControladorSesion productManager) {
        this.controlador = productManager;
    }

    public ControladorSesion getControladorFisioterapeuta() {
        return controlador;
    }

    @SuppressWarnings("unchecked")
    protected Map referenceData(HttpServletRequest request) throws Exception {
        Map referenceData = new HashMap();
        List<String> anos=new ArrayList();
        List<String> meses=new ArrayList();
        List<String> dias=new ArrayList();
        java.util.Date date = new java.util.Date();
        System.out.println(date.getYear());
        for(int i=1900;i<=(1900+date.getYear());i++){
            anos.add(""+i);
        }
        System.out.println(anos);
        for(int i=1;i<13;i++){
            meses.add(""+i);
        }
        for(int i=1;i<32;i++){
            dias.add(""+i);
        }
        referenceData.put("anos", anos);
        referenceData.put("dias", dias);
        referenceData.put("meses", meses);
        return referenceData;
    }
}
